package com.yinhe.system.service.impl;

import java.util.List;

import com.yinhe.common.annotation.DataScope;
import com.yinhe.common.utils.DateUtils;
import com.yinhe.system.domain.YhEnterpriseLeader;
import com.yinhe.system.mapper.YhEnterpriseLeaderMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yinhe.system.mapper.YhEnterpriseMapper;
import com.yinhe.system.domain.YhEnterprise;
import com.yinhe.system.service.IYhEnterpriseService;

/**
 * 承制单位信息Service业务层处理
 * 
 * @author yinhe
 * @date 2022-07-13
 */
@Service
public class YhEnterpriseServiceImpl implements IYhEnterpriseService 
{
    @Autowired
    private YhEnterpriseMapper yhEnterpriseMapper;
    @Autowired
    private YhEnterpriseLeaderMapper yhEnterpriseLeaderMapper;

    /**
     * 查询承制单位信息
     * 
     * @param id 承制单位信息主键
     * @return 承制单位信息
     */
    @Override
    public YhEnterprise selectYhEnterpriseById(Long id)
    {
        return yhEnterpriseMapper.selectYhEnterpriseById(id);
    }

    /**
     * 查询承制单位信息列表
     * 
     * @param yhEnterprise 承制单位信息
     * @return 承制单位信息
     */
    @Override
    @DataScope(deptAlias = "yh_enterprise", userAlias = "yh_enterprise")
    public List<YhEnterprise> selectYhEnterpriseList(YhEnterprise yhEnterprise)
    {
        return yhEnterpriseMapper.selectYhEnterpriseList(yhEnterprise);
    }

    /**
     * 新增承制单位信息
     * 
     * @param yhEnterprise 承制单位信息
     * @return 结果
     */
    @Override
    public int insertYhEnterprise(YhEnterprise yhEnterprise)
    {
        yhEnterprise.setCreateTime(DateUtils.getNowDate());
        return yhEnterpriseMapper.insertYhEnterprise(yhEnterprise);
    }

    /**
     * 新增承制单位领导信息
     *
     * @param yhEnterpriseLeader 承制单位领导信息
     * @return 结果
     */
    @Override
    public int insertYhEnterpriseLeader(YhEnterpriseLeader yhEnterpriseLeader)
    {
        yhEnterpriseLeader.setCreateTime(DateUtils.getNowDate());
        return yhEnterpriseLeaderMapper.insertYhEnterpriseLeader(yhEnterpriseLeader);
    }

    /**
     * 修改承制单位信息
     * 
     * @param yhEnterprise 承制单位信息
     * @return 结果
     */
    @Override
    public int updateYhEnterprise(YhEnterprise yhEnterprise)
    {
        yhEnterprise.setUpdateTime(DateUtils.getNowDate());
        return yhEnterpriseMapper.updateYhEnterprise(yhEnterprise);
    }

    /**
     * 批量删除承制单位信息
     * 
     * @param ids 需要删除的承制单位信息主键
     * @return 结果
     */
    @Override
    public int deleteYhEnterpriseByIds(Long[] ids)
    {
        return yhEnterpriseMapper.deleteYhEnterpriseByIds(ids);
    }

    /**
     * 删除承制单位信息信息
     * 
     * @param id 承制单位信息主键
     * @return 结果
     */
    @Override
    public int deleteYhEnterpriseById(Long id)
    {

        return yhEnterpriseMapper.deleteYhEnterpriseById(id);
    }
    /**
     * 导入用户数据
     *
     * @param userList        用户数据列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName        操作用户
     * @return 结果
     */
    @Override
    public String importEnterprise(List<YhEnterprise> userList, Boolean isUpdateSupport, String operName) {

        int successNum = 0;
        StringBuilder successMsg = new StringBuilder();
        StringBuilder failureMsg = new StringBuilder();
        for(YhEnterprise enterprise : userList){
            this.insertYhEnterprise(enterprise);
            successNum++;
            //successMsg.append("</br>"+successNum+"导入成功");
        }
        successMsg.insert(0,"恭喜您，数据已全部导入成功");
        return successMsg.toString();
    }
}
